package controle.Cliente;

/*
 * Pessoa física herda cliente
 */
public class PessoaFisica extends Cliente {

    /*
     * Atributos
     */
    private String nome;
    private String sobrenome;
    private String cpf;
    private String rg;

    /*
     * Construtores
     */
    public PessoaFisica(String nome, String sobrenome, String cpf, String rg) {
        this.nome = nome;
        this.sobrenome = sobrenome;
        this.cpf = cpf;
        this.rg = rg;
        
    }
    
    public PessoaFisica(String nome, String sobrenome, String cpf, String rg, String endereco, String telefone, String email) {
        this(nome, sobrenome, cpf, rg);
        super.endereco = endereco;
        super.telefone = telefone;
        super.email = email;
    }

    /* 
     * Getters
     * 
     */
    public String getNome() {
        return nome;
    }
    
    public String getSobrenome() {
        return sobrenome;
    }
    
    public String getCpf() {
        return cpf;
    }
    
    public String getRg() {
        return rg;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 29 * hash + (this.nome != null ? this.nome.hashCode() : 0);
        hash = 29 * hash + (this.sobrenome != null ? this.sobrenome.hashCode() : 0);
        hash = 29 * hash + (this.cpf != null ? this.cpf.hashCode() : 0);
        hash = 29 * hash + (this.rg != null ? this.rg.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final PessoaFisica other = (PessoaFisica) obj;
        if ((this.nome == null) ? (other.nome != null) : !this.nome.equals(other.nome)) {
            return false;
        }
        if ((this.sobrenome == null) ? (other.sobrenome != null) : !this.sobrenome.equals(other.sobrenome)) {
            return false;
        }
        if ((this.cpf == null) ? (other.cpf != null) : !this.cpf.equals(other.cpf)) {
            return false;
        }
        if ((this.rg == null) ? (other.rg != null) : !this.rg.equals(other.rg)) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "PessoaFisica{" + "nome=" + nome + ", sobrenome=" + sobrenome + ", cpf=" + cpf + ", rg=" + rg + '}';
    } 
}
